1. Field of the Invention
The present invention relates to a digitizer for a bar code scanner. More particularly, the present invention relates to a digitizer for a bar code scanner, which is capable of inhibiting improper transitions of an input differentiated signal to be digitized by the digitizer.
2. Description of the Related Art
Bar codes are used in a wide variety of applications for retrieving information, such as price, from objects. In this respect, bar code scanners are of widespread use in grocery stores and department stores, for both inventory control and for point-of-sales transactions.
A bar code normally includes several bar code characters. A bar code character is a group of lines (bars) and spacings that represent a single number or letter. A bar code symbol is a collection of several bar code characters which represent an identification of a particular object. The lines of the bar code can vary, for example, in a range from about 1/8" to 1" in height, and from about 1 to 50 mils in thickness. The spacings between the lines of the bar code symbol may be of various widths, with the variations in the spacing being one indication of the type of bar code characters making up the bar code symbol.
Typically, bar codes are read by a bar code scanner by illuminating the bars and spacings in a sequential manner (i.e., scanning), with the bars absorbing light and the background spacings reflecting light. This results in a pattern of reflections and nonreflections that is sensed by a light detecting circuit resident in the bar code scanner. The light detecting circuit provides an input to a digital processor, which interprets this input into a digital word.
One important aspect of bar code scanners is the means that performs scanning of a bar code symbol. In particular, hand-held bar code scanners typically require a miniaturized scanning means that can fit within the housing of the bar code scanner. The term "scan engine" or "scan module" used herein may be taken to mean a unitary assembly of a light beam source, and optical and electronic components for collecting and translating light received from a symbol (e.g., a bar code) into data-representing electrical signals. All bar code scanners require a scan module, as well as a means for providing oscillation of the scan module so as to provide a scanning function.
Conventional bar code scanners also utilize laser diodes in order to provide the means for outputting coherent light towards an object to be scanned. The laser diode is typically affixed to the oscillation means, and so provides a sweeping of light across an object that is scanned.
Another important part of a bar code scanner is the signal processing circuitry, which is used to detect and decode the return light in order to output a digital signal representative of the scanned bar code symbol. FIG. 1 shows a conventional signal processor for a bar code scanner. The return light from a scanned bar code symbol is received by a photodetector 100, which converts the received light into a current value. The current value is sent to a transimpedance amplifier 110, which converts the current value into a voltage value. The voltage value is input to an amplifier stage 120, which provides a constant gain to the voltage value.
The amplified voltage output from the amplifier stage 120 is sent to a derivative circuit 130, which performs a first (and sometimes also a second) derivative function on the voltage value, in order to enhance transitions in the amplified voltage output which correspond to dark bar edges and white space edges of the scanned bar code symbol.
The output of the derivative circuit 130 is sent to a filter stage 140, which typically has a fixed bandwidth. The bandwidth characteristics of the filter stage 140 are set based on the typical scanning range of the bar code scanner, as well as the typical bar widths that are to be scanned by the bar code scanner. Once the bandwidth characteristics of the filter stage 140 are set (during the manufacturing of the bar code scanner), they cannot be adjusted during operation of the bar code scanner.
The output of the filter stage 140 is sent to a digitizer stage 150, which has a particular threshold associated therewith, so as to detect portions of the return signal that are above the particular threshold. Based on these detections, the widths of the bars (i.e., those portions of the return signal that are above the particular threshold) and the widths of the spaces of the scanned bar code symbol can be determined. Some conventional barcode scanners provide a connection directly from the derivative circuit 130 to the digitizer stage 150, without providing any filtering therebetween.
In conventional systems, there is a problem associated with false detections of bar and space edges due to noise spikes. Several types of systems have been devised to help alleviate this problem.
U.S. Pat. No. 5,382,783, issued to Edward Bremer, and assigned to PSC Inc., which is incorporated herein by reference, discloses a false bar code inhibitor circuit, as shown in FIG. 2. The false bar code inhibitor circuit 100 includes a detector circuit 52, a signal restore circuit 54, an externally adjustable threshold comparator circuit 56, a software controller 58, and a high impedance clamp circuit 60. With this system, a window for a bar code read is dynamically set each time, and with the window the bar code reader is able to mask false bars in the output bar code from the digitizer.
U.S. Pat. No. 5,103,080, issued to Edward Barkan, and assigned to Symbol Technologies, Inc., discloses a digital signal processing circuit for a bar code scanner, as shown in FIG. 3. The circuit includes a amplifying circuit 16 for amplifying a differentiated signal, a delay circuit 18 for producing a delayed signal, a peak locating comparator 20 for comparing the differentiated signal to the delayed signal. The circuit also includes a peak comparator 20 and a false transition gating comparator 22, whereby a latch comparator circuit 24 only changes state upon the first transition of the peak comparator 20 following a transition of the gating comparator 22. In this way, noise that may cause spurious transitions on the output of the peak location comparator 20 do not cause false transitions on the latch comparator 24 output unless the noise is large enough to trip the gating comparator 22.
U.S. Pat. No. 5,298,728, issued to Randy Elliott and Blaine Loris, and assigned to Spectra-Physics Scanning System, Inc., which is incorporated herein by reference, discloses a signal processing apparatus for use in barcode scanners. The apparatus forms a derivative signal, and utilizes the derivative signal to detect transition points from white to black bars and vice versa. The apparatus then starts and stops the generation of digital pulses at or about the transition points, so as to generate pulses having widths corresponding to the widths of the bars making up the bar code symbol.
U.S. Pat. No. 5,446,272, issued to Edward Barkan, and assigned to Symbol Technologies, Inc., discloses a system for digitizing a return signal from a scanned barcode symbol. The system detects zero-crossings of a second derivative signal, and ignores noise signals from a first derivative of the return signal.
In all of the above-mentioned systems, a certain amount of noise will cause a false transition on the differentiated signal, which will be subsequently digitized to produce an incorrect digitized output.